home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 4
/
Amiga Tools 4.iso
/
grafix
/
raytracing
/
raylab
/
source
/
typedef.h
< prev
Wrap
C/C++ Source or Header
|
1996-01-04
|
2KB
|
155 lines
/*
name: typedef.h
Type-defenitions
----------------
These defenitions are convenient for handling rays, objects etc.
*/
typedef struct Point_Struct POINT;
typedef struct Vector_Struct VECTOR;
typedef struct TransformEntry_Struct TRANSFENTRY;
typedef struct Transform_Struct TRANSFORM;
typedef struct Texture_Struct TEXTURE;
typedef struct Color_Struct COLOR;
typedef struct ColorMap_Struct COLORMAP;
typedef struct Line_Struct LINE;
typedef struct Plane_Struct PLANE;
typedef struct Sphere_Struct SPHERE;
typedef struct Ellipsoid_Struct ELLIPSOID;
typedef struct Triangle_Struct TRIANGLE;
typedef struct Box_Struct BOX;
typedef struct Disc_Struct DISC;
typedef struct Cylinder_Struct CYLINDER;
typedef struct Light_Struct LIGHT;
typedef struct Camera_Struct CAMERA;
typedef struct Object_Struct OBJECT;
struct Point_Struct
{
double x, y, z;
};
struct Vector_Struct
{
double x, y, z;
};
struct TransformEntry_Struct
{
long Type;
VECTOR Values;
};
struct Transform_Struct
{
long NumTransforms;
TRANSFENTRY Entry[10];
};
struct Color_Struct
{
double r, g, b;
};
struct ColorMap_Struct
{
long LastBound;
double Bounds[10]; /* Note: MUST BE SORTED IN ASCENDING ORDER! */
COLOR Colors[10];
};
struct Texture_Struct
{
COLORMAP CMap;
long Pattern;
COLOR Reflect;
COLOR Filter;
double Ior;
double Ambient;
double Diffuse;
double Phong;
double PhongSize;
TRANSFORM Transform;
};
struct Line_Struct
{
POINT Origin;
VECTOR Direction;
};
struct Plane_Struct
{
VECTOR Normal;
double a;
};
struct Sphere_Struct
{
POINT Centre;
double r;
};
struct Ellipsoid_Struct
{
POINT Centre;
VECTOR Radius;
};
struct Triangle_Struct
{
POINT Corners[3];
POINT Min;
POINT Max;
PLANE Plane;
};
struct Box_Struct
{
POINT Corners[2];
PLANE Planes[6];
};
struct Disc_Struct
{
POINT Centre;
double r;
PLANE Plane;
};
struct Cylinder_Struct
{
POINT Ends[2];
double r;
DISC Discs[2];
};
struct Light_Struct
{
POINT Location;
COLOR Color;
};
struct Camera_Struct
{
POINT Location;
POINT ViewPoint;
VECTOR Direction;
VECTOR Up;
VECTOR Right;
VECTOR Aspect;
};
struct Object_Struct
{
long ShapeType;
void *Shape;
TEXTURE Texture;
TRANSFORM Transform;
};